Skip to content

Conversation

RalfJung
Copy link
Member

@RalfJung RalfJung commented Dec 2, 2021

Comparing slices of length usize::MAX diverges in Miri. In fact these tests even diverge in rustc unless -O is passed. I tried this code to check that:

#![feature(slice_take)]

const EMPTY_MAX: &'static [()] = &[(); usize::MAX];

fn main() {
    let mut slice: &[_] = &[(); usize::MAX];
    println!("1");
    assert_eq!(Some(&[] as _), slice.take(usize::MAX..));
    println!("2");
    let remaining: &[_] = EMPTY_MAX;
    println!("3");
    assert_eq!(remaining, slice);
    println!("4");
}

So, disable these tests in Miri for now.

@rust-highfive
Copy link
Contributor

r? @kennytm

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 2, 2021
@RalfJung
Copy link
Member Author

RalfJung commented Dec 2, 2021

Cc @ibraheemdev @dtolnay

@dtolnay
Copy link
Member

dtolnay commented Dec 2, 2021

@bors r+

@bors
Copy link
Collaborator

bors commented Dec 2, 2021

📌 Commit b11d880 has been approved by dtolnay

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 2, 2021
@dtolnay dtolnay assigned dtolnay and unassigned kennytm Dec 2, 2021
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 2, 2021
disable tests in Miri that take too long

Comparing slices of length `usize::MAX` diverges in Miri. In fact these tests even diverge in rustc unless `-O` is passed. I tried this code to check that:
```rust
#![feature(slice_take)]

const EMPTY_MAX: &'static [()] = &[(); usize::MAX];

fn main() {
    let mut slice: &[_] = &[(); usize::MAX];
    println!("1");
    assert_eq!(Some(&[] as _), slice.take(usize::MAX..));
    println!("2");
    let remaining: &[_] = EMPTY_MAX;
    println!("3");
    assert_eq!(remaining, slice);
    println!("4");
}
```
So, disable these tests in Miri for now.
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 2, 2021
…askrgr

Rollup of 12 pull requests

Successful merges:

 - rust-lang#89954 (Fix legacy_const_generic doc arguments display)
 - rust-lang#91321 (Handle placeholder regions in NLL type outlive constraints)
 - rust-lang#91329 (Fix incorrect usage of `EvaluatedToOk` when evaluating `TypeOutlives`)
 - rust-lang#91364 (Improve error message for incorrect field accesses through raw pointers)
 - rust-lang#91387 (Clarify and tidy up explanation of E0038)
 - rust-lang#91410 (Move `#![feature(const_precise_live_drops)]` checks earlier in the pipeline)
 - rust-lang#91435 (Improve diagnostic for missing half of binary operator in `if` condition)
 - rust-lang#91444 (disable tests in Miri that take too long)
 - rust-lang#91457 (Add additional test from rust issue number 91068)
 - rust-lang#91460 (Document how `last_os_error` should be used)
 - rust-lang#91464 (Document file path case sensitivity)
 - rust-lang#91466 (Improve the comments in `Symbol::interner`.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit fbfa003 into rust-lang:master Dec 3, 2021
@rustbot rustbot added this to the 1.59.0 milestone Dec 3, 2021
@RalfJung RalfJung deleted the miri-tests branch December 3, 2021 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants